TODO — NVIDIA GPU (nvidia-smi)
Verify and document GPU support on msi-laptop-3. Relevant if APIs use the ml Docker image (tsai/PyTorch) or other GPU workloads.
Status: Host driver verified — nvidia-smi OK (2026-06-05)
Hardware (msi-laptop-3): NVIDIA GeForce RTX 4070 Max-Q / Mobile (AD106M, PCI 01:00.0)
Installed driver: nvidia-driver-595-open — NVRM 595.71.05, CUDA 13.2 (driver report)
Goal
-
nvidia-smiruns without error on the host - Driver version and GPU model recorded below
- (If using GPU in Docker)
nvidia-container-toolkitinstalled anddocker run --gpus allworks - Decision documented: GPU required in prod vs slim (sklearn) only — slim for now; ml image if tsai/GPU needed
Step 1 — Check current state
nvidia-smi
lspci | grep -i nvidia
ubuntu-drivers devices
| Outcome | Next step |
|---|---|
nvidia-smi works | Record output in Server values; skip to Docker step if needed |
| Command not found | Install drivers (Step 2) |
NVIDIA-SMI has failed | Driver/kernel mismatch — reinstall or reboot (Step 3) |
No NVIDIA in lspci | Confirm discrete GPU in this laptop model / BIOS |
Step 2 — Install drivers (Ubuntu 24.04 Server)
Your ubuntu-drivers devices output recommends nvidia-driver-595-open for the RTX 4070 Max-Q. Install that (or let Ubuntu pick automatically).
Option A — install recommended (preferred)
sudo apt update
sudo apt install -y ubuntu-drivers-common linux-headers-$(uname -r)
sudo ubuntu-drivers install
This should select nvidia-driver-595-open.
Option B — install recommended driver explicitly
sudo apt update
sudo apt install -y linux-headers-$(uname -r)
sudo apt install -y nvidia-driver-595-open
Do not install only nvidia-utils-595 — that is the CLI tools without the full kernel driver.
Install takes a few minutes (DKMS builds the kernel module). Then reboot:
sudo reboot
After reboot, SSH back in and verify:
nvidia-smi
Expected: table showing RTX 4070, driver version ~595.x, CUDA version line.
Record output in Server values below.
Older reference (generic)
sudo apt update
sudo apt install -y ubuntu-drivers-common
ubuntu-drivers devices
# Auto-install recommended proprietary driver (note package name from output):
sudo ubuntu-drivers install
sudo reboot
Step 3 — Troubleshooting
# Kernel module loaded?
lsmod | grep nvidia
# DKMS / build errors
sudo dmesg | grep -iE 'nvidia|nouveau' | tail -30
journalctl -b | grep -i nvidia | tail -30
# Conflicting nouveau driver (usually blacklisted by nvidia packages)
cat /proc/driver/nvidia/version 2>/dev/null
| Issue | Action |
|---|---|
| Secure Boot blocks module | Disable Secure Boot in BIOS or enroll MOK for signed modules |
| Wrong driver for GPU | Match ubuntu-drivers devices recommendation |
| Still fails after install | Try sudo apt install --reinstall nvidia-driver-* matching version |
Step 4 — Docker GPU (optional, for ml image)
Only if containers need GPU access:
# NVIDIA container toolkit
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | \
sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt update
sudo apt install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
# Test
sudo docker run --rm --gpus all nvidia/cuda:12.0.0-base-ubuntu22.04 nvidia-smi
Compose: add to service when needed:
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
(or runtime: nvidia / device_requests depending on compose version — update this doc when implemented.)
Relation to dwd-api-fastapi
| Image | GPU needed? |
|---|---|
| slim (default prod) | No — sklearn fallback |
| ml (tsai + PyTorch) | Yes — for GPU-accelerated training/inference |
Current production deploy uses slim. GPU setup is optional until ml image is required.
Server values (fill in when done)
| Item | Value |
|---|---|
| GPU model | GeForce RTX 4070 Max-Q / Mobile (AD106M), 8188 MiB |
| Recommended driver | nvidia-driver-595-open |
| Driver version | 595.71.05 (Open Kernel Module) |
| CUDA (driver report) | 13.2 |
nvidia-smi verified | 2026-06-05 |
| Container GPU tested | No — not required for slim API image |
| Notes | Persistence mode Off; no GPU processes at verify time. Laptop power readout in nvidia-smi may look odd (mobile sensors). |
Checklist summary
-
nvidia-smion host - Values recorded above
- README TODO marked done
- nvidia-container-toolkit (only if Docker GPU needed)